<?php 
class mensagemController extends CController{
    public $model_name = "ocorrencia/mensagem";

    public function AfterLoad() {
        parent::AfterLoad();
        $this->LoadClassFromPlugin('ocorrencia/mensagem/mensagemSecurity', 'ms');
        if($this->cod != ""){
            if(!$this->ms->has_permission($this->cod)){
                throw new AcessDeniedException("Você não tem permissão para ler esta mensagem");
            }
            $this->ms->genMenu($this->cod);
            $_SESSION[LINK] = $this->cod;
        }
    }
    
    public function index(){
        Redirect('ocorrencia/ocorrencias/show');
        $display = false;
        parent::formulario($display);
        parent::index($display);
        
    	$this->display(LINK."/index");
    }

    public function show($display = true, $link = "") {
        parent::show(false);
        
        $item = isset($this->variaveis['item'])?$this->variaveis['item']:$this->model->getItem($this->cod);
        //unset($item['data']);
        //unset($item['cod_autor']);
        unset($item['cod_ocorrencia']);
        unset($item['destinatarios']);

        if(isset($_POST['anexos_only'])){
            if($item['__has_anexo'] == 's'){
                $this->LoadComponent('files/arquivo', 'anx');
                if(empty($item['anexo'])){
                    $item['anexo'] = $this->model->getAnexos($this->cod);
                    if(empty($item['anexo']))
                        $this->anx->info('Anexos removidos pelo administrador do sistema!');
                }
                
                if(!empty($item['anexo'])){
                    $anexos = $item['anexo'];
                    $this->anx->showAnexos('files/arquivo', $anexos, "Anexos", 'anexo');
                }
            }
            
            return;
        }elseif(isset($_REQUEST['ajax']) && $_REQUEST['ajax']){
            //unset($item['texto']);
            unset($item['cod_ocorrencia']);
            unset($item['destinatarios']);
            if(!empty($item)){
                $this->LoadComponent('ocorrencia/mensagem', "comp");
                $this->comp->show('ocorrencia/mensagem', $item);
            }else{
                echo "<h1>".MENSAGEM_NAO_EXISTE_TITULO."</h1>";
                echo "<p>".MENSAGEM_NAO_EXISTE_MENSAGEM."</p>";
            }
            $this->LoadResource('html', "Html");
            $this->Html->start();
            $this->Html->flush();
        }else{
            $this->LoadModel('ocorrencia/ocorrencias', 'oc');
            $this->ocorrencia = $this->oc->getItem($item['__cod_ocorrencia']);
            $this->not_empty();
            $this->registerVar('item', $item);
            $this->display(LINK."/show");
        }
    }
    
    public function formulario($display = true, $link = "") {
        $this->prevent_redirect();
        parent::formulario($display, $link);
    }
    /*
    public function setunread(){
        $this->model->setUnread($this->cod);
        echo json_encode($this->model->getMessages());
    }
    
    public function setread(){
        $this->model->setRead($this->cod);
        echo json_encode($this->model->getMessages());
    }*/
    
    private function not_empty(){
        if(!empty ($this->ocorrencia)) {
            $this->genTags($this->ocorrencia['assunto']);
            $this->LoadComponent('ocorrencia/ocorrencias', "comp");
            ob_start();
            $this->comp->show('ocorrencia/ocorrencias', $this->ocorrencia);
            $flush = ob_get_contents();
            ob_end_clean();
            EventTube::clearRegion('menu-lateral');
            EventTube::addEvent('menu-lateral', $flush);
        }
    }
}
?>